ELIOS-OBJ Theorem Proving in a Specification Language

نویسنده

  • Isabelle Gnaedig
چکیده

1 I n t r o d u c t i o n OBJ3 is a programming language based on equational logic: programs are given in terms of abst ract da ta types and their semantics relies on order sorted algebras, which enables inclusion of types. The problem approached here is the correctness of axiom sets, in the following sense. The operational semantics of OBJ3 is rewriting, which means tha t when a program is executed on a given value, the set of axioms is interpreted and used as a set of rewrite rules that reduces the value to its normal form. We have to establish whether computations are correct with respect to validity in initial models, whether results are unique and last but not least whether computat ion always terminates. The completion process of a rewrite rule set is able to ensure the previous requirements. Start ing from any axiom set, it provides, when it succeeds (this is a semi-decidable problem), an equivalent set of rules with the same deduction power, confluent (the result of rewriting an expression does not depend of the way the rules are applied: it is unambiguous), and terminating (there is no infinite rewrite chain). Hence, it can be seen as an automat ic prover of program correctness. We intend here to design and implement an integrated programming environment, named ELIOS-OBJ, allowing programming and proving in the same context. Our goal here has three aspects: to provide the user with a tool for proving correctness of specifications in the context of OBJ3, namely with an order-sorted semantics; to propose an implementat ion of order-sorted completion described and proved in [6]; and to point out some problems arising in integrating theorem proving aspects (completion here) with programming aspects (the OBJ3 language).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

ASIP+ITP: A Veri cation Tool Based on Algebraic Semantics

Using the algebraic de nition of the semantics of imperative programs as a formal foundation for software veri cation was rst proposed by J. Goguen and G. Malcolm in [5]. In this approach the semantics of imperative programs is de ned by specifying a class of abstract machines and giving equational axioms which specify the e ect of programs on such machines The semantics of imperative programs ...

متن کامل

On Proving Operational Termination Incrementally with Modular Conditional Dependency Pairs

OBJ algebraic specification languages support semi-automated verification of algebraic specifications based on equational reasoning by term rewriting systems (TRS). Termination is one of the most important properties of TRSs. Termination guarantees that any execution of the specification terminates in finite times. Another important feature of OBJ languages is a module system with module import...

متن کامل

Theorem Proving for Maude’s Rewriting Logic Vlad Rusu and Manuel Clavel

We present an approach based on inductive theorem proving for verifying invariance properties of systems specified in Rewriting Logic, an executable specification language implemented (among others) in the Maude tool. Since theorem proving is not directly available for rewriting logic, we define an encoding of rewriting logic into its membership equational (sub)logic. Then, inductive theorem pr...

متن کامل

Application Specific Higher Order Logic Theorem Proving

Theorem proving allows the formal verification of the correctness of very large systems. In order to increase the acceptance of theorem proving systems during the design process, we implemented higher order logic proof systems for ANSI-C and Verilog within a framework for application specific proof systems. Furthermore, we implement the language of the PVS theorem prover as well-established hig...

متن کامل

Logical Semantics for CafeOBJ

This paper presents the semantics of CafeOBJ system and language. CafeOBJ is a succesor of the famous algebraic specification and programming language OBJ but adding several new primitive paradigms to the traditional OBJ language, such as rewriting logic, and behavioural concurrent specification. We do not address here the detalied mathematical aspects of CafeOBJ semantics (which sometimes coul...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992